package com.ruibang.glass.sale.entity;

import java.math.BigDecimal;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.teaming.cloud.framework2.common.pojo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 *
 * </p>
 *
 * @author mameng
 * @since 2024-04-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(description = "退货入库商品")
@TableName(value = "g_sale_return_inventory_product")
public class SaleReturnInventoryProduct extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    @ApiModelProperty(value = "订单编号")
    private String orderNumber;

    @ApiModelProperty(value = "产品")
    private String product;

    @ApiModelProperty(value = "产品")
    private String productCode;

    @ApiModelProperty(value = "产品规格")
    private String productSpecification;

    @ApiModelProperty(value = "退货数量")
    private BigDecimal returnQuantity;

    @ApiModelProperty(value = "退货单价")
    private BigDecimal returnUnitPrice;

    @ApiModelProperty(value = "退货全额")
    private BigDecimal returnTotal;

    @ApiModelProperty(value = "退货订单号")
    private String returnOrderNumber;


    @ApiModelProperty(value = "发货日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime deliveryDate;

    @ApiModelProperty(value = "到货日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime arrivalDate;

    @ApiModelProperty(value = "托盘号")
    private String trayId;

    @ApiModelProperty(value = "玻璃Id")
    private String glassId;

    @ApiModelProperty(value = "问题描述")
    private String issueDescription;

    @ApiModelProperty(value = "备注")
    private String remark;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    private String inventoryId;

    private String productId;

    private String orderId;

    @ApiModelProperty(value = "发货单号")
    private String deliveryOrderNumber;

    @ApiModelProperty(value = "发货Id")
    private String deliveryId;

    @ApiModelProperty(value = "批次号")
    private String batchNumber;


    @ApiModelProperty(value = "物料编码")
    @TableField(exist = false)
    private String materialCode;


    @ApiModelProperty(value = "单位")
    @TableField(exist = false)
    private String unit;

    @ApiModelProperty(value = "库位")
    @TableField(exist = false)
    private String storageLocation;

    @ApiModelProperty(value = "仓库")
    @TableField(exist = false)
    private String wareHouseId;

    @ApiModelProperty(value = "等级")
    @TableField(exist = false)
    private String modelGrade;

    @ApiModelProperty(value = "仓库名称")
    @TableField(exist = false)
    private String wareHouseName;


}
